From 1cc8de24124aa0cd8d0a5975c50196d345f54ec7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 8 Jun 2015 20:28:10 +0200 Subject: [PATCH] widget: Clarify docs on gtk_widget_set_double_buffered() Also make them more scary so people really really don't use it as a random knob when trying to make things go fast. //bugzilla.gnome.org/show_bug.cgi?id=750505 --- gtk/gtkwidget.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5da33ec78a..4c03956e54 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9336,11 +9336,16 @@ gtk_widget_get_app_paintable (GtkWidget *widget) * pixmap will not happen automatically (as it is done in * gdk_window_begin_paint_region()). * - * Since 3.10 this function only works for widgets with native - * windows. - * - * Deprecated: 3.14: This does not work under non-X11 backends, - * and it should not be used in newly written code. + * In 3.10 GTK and GDK have been restructured for translucent drawing. Since + * then expose events for double-buffered widgets are culled into a single + * event to the toplevel GDK window. If you now unset double buffering, you + * will cause a separate rendering pass for every widget. This will likely + * cause rendering problems - in particular related to stacking - and usually + * increases rrendering times significantly. + * + * Deprecated: 3.14: This function does not work under non-X11 backends or with + * non-native windows. + * It should not be used in newly written code. **/ void gtk_widget_set_double_buffered (GtkWidget *widget, -- 2.30.2